package com.btobtob.a.biz.user.converter;

import com.btobtob.a.biz.user.dto.clientobject.Demo3CO;
import com.btobtob.a.biz.user.dto.command.Demo3Cmd;
import com.btobtob.a.biz.user.entity.Demo3;
import com.btobtob.a.biz.user.protocol.Demo3Reply;
import com.btobtob.a.biz.user.protocol.Demo3Request;
import org.mapstruct.*;
import org.mapstruct.factory.Mappers;

@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface Demo3Converter {

    Demo3Converter INSTANCE = Mappers.getMapper(Demo3Converter.class);

    Demo3 from(Demo3Request source);

    @InheritInverseConfiguration
    Demo3Reply to(Demo3 source);

    @InheritInverseConfiguration
    Demo3Reply update(Demo3 source, @MappingTarget Demo3Reply target);


    Demo3Request from(Demo3Cmd source);

    @InheritInverseConfiguration
    Demo3CO to(Demo3Reply source);

    @InheritInverseConfiguration
    Demo3CO update(Demo3Reply source, @MappingTarget Demo3CO target);
}